form {
	position: relative;

	.mandatory-info {
        margin-top: 1rem;
        color: #595959;
        
        @media (min-width: $screen-sm-min) {
            margin-top: 0;
            position: absolute;
            top: 0;
            right: 0;
        }
	}

	fieldset {
		margin-bottom: $grid-gutter-width;

		&:first-of-type {
			margin-top: $grid-gutter-width;
		}
	}

	.form-group {
		&.mandatory {
			.control-label {
				&:after {
					content: " *";
					font-family: Arial, sans-serif;
				}
			}
		}

		.input-container {
			position: relative;

			.radio-inline {
				input[type="radio"] {
					margin-top: 3px;
				}
			}
		}

		&.switch-text-input {
			.radio-block {
				.row {
					line-height: 35px;

					label {
						&.control-label {
							padding-top: 3px;
						}
					}

					input[type="radio"] {
						margin: 13px 0 0 0;
						outline: none;
					}
				}
			}

			.input-text-switch {
				.form-control {
					display: none;
					margin-top: 20px;

					&.active {
						display: block;
					}
				}
			}
		}
	}
}

.form-horizontal {
	.control-label {
		text-align: left;
	}
}

label {
	font-weight: normal;
}

#vvcode_image {
	display: block;
	margin: 0 0 5px;
}

.input-text {
	@extend .form-control;
}

// validation errors

.form-control.error {
	border-color: $state-danger-text;
	@include box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075)); // Redeclare so transitions work
	&:focus {
		border-color: darken($state-danger-text, 10%);
		$shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px lighten($state-danger-text, 20%);
		@include box-shadow($shadow);
	}
}

// box-shadow

.form-control {
	@include box-shadow(none);
    
    @include form-control-update-focus;
}

// Contact & Product Reviews Write Page
form#contactus,
form#product_reviews_write {
	textarea {
		height: 120px;
	}

	p {
		margin: 0;
		line-height: 39px;
	}
}

form#contactus {
	img#vvcode_input_image {
		margin-bottom: 15px;
	}

	input#vvcode_input {
		max-width: 240px;
	}
}

form#sign {
	img#vvcode_image {
		margin-bottom: 15px;
	}

	input#vvcode {
		max-width: 240px;
	}
}

form#product_reviews_write {
	img#vvcode_image {
		margin-bottom: 15px;
	}

	input#vvcode {
		max-width: 240px;
	}

	.glyphicon-star,
	.fa-star {
		color: #FF9000;
	}
}

form#callback_service {
	fieldset {
		position: relative;
	}
}

form#gm_price_offer {
	fieldset {
		position: relative;
	}
}

// Anti-spam-protection inputs

label.form-input {
	position: absolute;
	z-index: -1;
}

input[type="text"]#form-input {
	background-color: transparent;
	border: none;
	position: absolute;
	left: -50%;
	z-index: -1;
}

.modal-body input[type="text"]#form-input {
	left: unset;
}

.password-form-field {
    position: relative;
    .btn {
        position: absolute;
        top: 50%;
        right: -1px;
        transform: translateY(-50%);
        background: transparent;
        border-color: transparent;
        color: $btn-default-color;
        &:hover {
            color: inherit;
        }
    }
}